Simple test for display-less widget creation
authorMatthias Clasen <mclasen@redhat.com>
Sat, 5 Feb 2011 03:06:25 +0000 (22:06 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 5 Feb 2011 03:06:25 +0000 (22:06 -0500)
tests/Makefile.am
tests/testnoscreen.c [new file with mode: 0644]

index 335e33ec240eadc663f4400a3e0cb673414ef8c5..397f211c41c81cf5d0f36d56fcc3ef629b82b9cd 100644 (file)
@@ -103,7 +103,8 @@ noinst_PROGRAMS =  $(TEST_PROGS)    \
        testswitch                      \
        styleexamples                   \
        testtreemenu                    \
-       testtoplevelembed
+       testtoplevelembed               \
+       testnoscreen
 
 if USE_X11
 noinst_PROGRAMS += testerrors
@@ -199,6 +200,7 @@ testexpander_DEPENDENCIES = $(TEST_DEPS)
 testswitch_DEPENDENCIES = $(TEST_DEPS)
 styleexamples_DEPENDENCIES = $(TEST_DEPS)
 testtoplevelembed_DEPENDENCIES = $(TEST_DEPS)
+testnoscreen_DEPENDENCIES = $(TEST_DEPS)
 
 flicker_LDADD = $(LDADDS)
 simple_LDADD = $(LDADDS)
@@ -280,6 +282,7 @@ testexpander_LDADD = $(LDADDS)
 testswitch_LDADD = $(LDADDS)
 styleexamples_LDADD = $(LDADDS)
 testtoplevelembed_LDADD = $(LDADDS)
+testnoscreen_LDADD = $(LDADDS)
 
 testentrycompletion_SOURCES =  \
        prop-editor.c           \
diff --git a/tests/testnoscreen.c b/tests/testnoscreen.c
new file mode 100644 (file)
index 0000000..cce8a5a
--- /dev/null
@@ -0,0 +1,47 @@
+/* testnoscreen.c
+ * Copyright (C) 2011 Red Hat, Inc.
+ * Authors: Matthias Clasen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+
+/* Very limited test to ensure that creating widgets works
+ * before opening a display connection
+ */
+int main (int argc, char *argv[])
+{
+  GtkWidget *window;
+  GtkWidget *button;
+  GdkDisplay *display;
+
+  gtk_parse_args (&argc, &argv);
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  button = gtk_button_new ();
+  gtk_container_add (GTK_CONTAINER (window), button);
+
+  display = gdk_display_open (NULL);
+
+  gtk_window_set_screen (GTK_WINDOW (window), gdk_display_get_default_screen (display));
+
+  gtk_widget_show_all (window);
+
+  gtk_main ();
+
+  return 0;
+}